// 首页相关
import type { CategoryItem } from '@/types/home'
import { makeAutoObservable } from 'mobx'

class HomeStore {
  constructor() {
    makeAutoObservable(this)
  }
  /** 分类列表数据 */
  categoryList: CategoryItem[] = [
    // 默认添加频道
    { name: '推荐', default: true, isAdd: true },
    { name: '视频', default: true, isAdd: true },
    { name: '直播', default: true, isAdd: true },
    { name: '摄影', default: false, isAdd: true },

    { name: '穿搭', default: false, isAdd: true },
    { name: '读书', default: false, isAdd: true },
    { name: '影视', default: false, isAdd: true },
    { name: '科技', default: false, isAdd: true },

    { name: '健身', default: false, isAdd: true },
    { name: '科普', default: false, isAdd: true },
    { name: '美食', default: false, isAdd: true },
    { name: '情感', default: false, isAdd: true },

    { name: '舞蹈', default: false, isAdd: true },
    { name: '学习', default: false, isAdd: true },
    { name: '男士', default: false, isAdd: true },
    { name: '搞笑', default: false, isAdd: true },

    { name: '汽车', default: false, isAdd: true },
    { name: '职场', default: false, isAdd: true },
    { name: '运动', default: false, isAdd: true },
    { name: '旅行', default: false, isAdd: true },

    { name: '音乐', default: false, isAdd: true },
    { name: '护肤', default: false, isAdd: true },
    { name: '动漫', default: false, isAdd: true },
    { name: '游戏', default: false, isAdd: true },

    // 默认添加频道
    { name: '家装', default: false, isAdd: false },
    { name: '心理', default: false, isAdd: false },
    { name: '户外', default: false, isAdd: false },
    { name: '手工', default: false, isAdd: false },

    { name: '减脂', default: false, isAdd: false },
    { name: '校园', default: false, isAdd: false },
    { name: '社科', default: false, isAdd: false },
    { name: '露营', default: false, isAdd: false },

    { name: '文化', default: false, isAdd: false },
    { name: '机车', default: false, isAdd: false },
    { name: '艺术', default: false, isAdd: false },
    { name: '婚姻', default: false, isAdd: false },

    { name: '家居', default: false, isAdd: false },
    { name: '母婴', default: false, isAdd: false },
    { name: '绘画', default: false, isAdd: false },
    { name: '壁纸', default: false, isAdd: false },

    { name: '头像', default: false, isAdd: false }
  ]

  /** 更改分类列表数据 */
  changeCategoryList = (channel: CategoryItem, state: 'delete' | 'add') => {
    if (state === 'delete') {
      // 删除
      const findResult = this.categoryList.find(item => item.name === channel.name)
      findResult!.isAdd = false
      this.categoryList = this.categoryList.filter(item => item.name !== channel.name)
      // 添加到末尾
      this.categoryList.push(findResult!)
    } else {
      // 添加
      const findResult = this.categoryList.find(item => item.name === channel.name)
      findResult!.isAdd = true
      this.categoryList = this.categoryList.filter(item => item.name !== channel.name)
      // 添加到末尾
      this.categoryList.push(findResult!)
    }
  }
}

export const homeStore = new HomeStore()
